import { IPSDEMethodInput } from '../dataentity/service/ipsdemethod-input';
import { IPSSubSysServiceAPIDEField } from './ipssub-sys-service-apidefield';
import { IPSSubSysServiceAPIDTO } from './ipssub-sys-service-apidto';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSSubSysServiceAPIMethodInput
 */
export interface IPSSubSysServiceAPIMethodInput extends IPSDEMethodInput {
  /**
   * 外部服务接口主键属性
   *
   * @type {IPSSubSysServiceAPIDEField}
   */
  getKeyPSSubSysServiceAPIField(): IPSSubSysServiceAPIDEField | null;

  /**
   * 外部服务接口主键属性
   *
   * @type {IPSSubSysServiceAPIDEField}
   */
  get keyPSSubSysServiceAPIField(): IPSSubSysServiceAPIDEField | null;

  /**
   * 外部服务接口主键属性（必须存在）
   *
   * @type {IPSSubSysServiceAPIDEField}
   */
  getKeyPSSubSysServiceAPIFieldMust(): IPSSubSysServiceAPIDEField;

  /**
   * 外部服务接口DTO对象
   *
   * @type {IPSSubSysServiceAPIDTO}
   */
  getPSSubSysServiceAPIDTO(): IPSSubSysServiceAPIDTO | null;

  /**
   * 外部服务接口DTO对象
   *
   * @type {IPSSubSysServiceAPIDTO}
   */
  get psSubSysServiceAPIDTO(): IPSSubSysServiceAPIDTO | null;

  /**
   * 外部服务接口DTO对象（必须存在）
   *
   * @type {IPSSubSysServiceAPIDTO}
   */
  getPSSubSysServiceAPIDTOMust(): IPSSubSysServiceAPIDTO;
}
